part of stripe_terminal;

enum DiscoveryMethod {
  /// To discover `bluetooth` based readers.
  bluetooth,

  /// To discover `internet` based readers.
  internet,

  /// To discover `localMobile` based readers.
  localMobile,

  /// To discover `handOff` based readers.
  handOff,

  /// To discover `embedded` based readers.
  embedded,

  /// To discover `usb` based readers.
  usb,
}

class DiscoverConfig {
  // final DiscoveryMethod discoveryMethod;
  // final String? locationId;
  final bool simulated;
  final int timeout;

  DiscoverConfig({
    /// The method of discovery. It can be `bluetooth`,`internet`,`localMobile`,`handOff`,`embedded` or`usb`.
    ///
    /// Its a required field
    // this.discoveryMethod = DiscoveryMethod.bluetooth,

    /// Start V3.0.0 need this.
    this.timeout = 30,

    /// Weather to show simulated devices in the discovery process.
    ///
    /// Defaults to `false`
    this.simulated = false,
  });

  toMap() {
    return {
      // "discoveryMethod": describeEnum(discoveryMethod),
      "simulated": simulated,
      "timeout": timeout,
    };
  }
}
